summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2019-01-03 12:01:52 +0000
committerGitHub <noreply@github.com>2019-01-03 12:01:52 +0000
commit9084712b555a876873bd7d7583f5befd47647c9d (patch)
treea7fea9181a01a15a983b4456045a66df14213d79
parent77f1460fcf6de77aebd55fc5ef30a663df38a55e (diff)
parente385e6474eb288be2efa11d126bd78df274a7932 (diff)
downloadlibgit2-9084712b555a876873bd7d7583f5befd47647c9d.tar.gz
Merge pull request #4904 from libgit2/ethomson/crlf
Update CRLF filtering to match modern git
-rw-r--r--src/buf_text.c3
-rw-r--r--src/crlf.c403
-rw-r--r--src/filter.h10
-rw-r--r--tests/checkout/crlf.c86
-rw-r--r--tests/filter/crlf.c11
-rw-r--r--tests/index/crlf.c250
-rw-r--r--tests/resources/.gitattributes1
-rw-r--r--tests/resources/crlf/.gitattributes1
-rw-r--r--tests/resources/crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf)0
-rw-r--r--tests/resources/crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf)0
-rw-r--r--tests/resources/crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf)0
-rw-r--r--tests/resources/crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf)0
-rw-r--r--tests/resources/crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte)0
-rw-r--r--tests/resources/crlf_data/README3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_false/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf)0
-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-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_input/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/posix/autocrlf_true/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr)0
-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-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte)0
-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-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_false/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf)0
-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 (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_input/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf)0
-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-byte (renamed from tests/resources/crlf_data/windows/autocrlf_true/zero-byte)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf)0
-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/posix_to_workdir/autocrlf_false,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true/all-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom (renamed from tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf (renamed from tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/posix_to_workdir/autocrlf_true/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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/all-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf)0
-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-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf)0
-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
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/more-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf (renamed from tests/resources/crlf_data/windows/autocrlf_true/all-lf)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom (renamed from tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom)0
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte0
-rwxr-xr-xtests/resources/generate_crlf.sh72
7654 files changed, 33402 insertions, 238 deletions
diff --git a/src/buf_text.c b/src/buf_text.c
index 306980b5c..fa7f16b81 100644
--- a/src/buf_text.c
+++ b/src/buf_text.c
@@ -310,6 +310,7 @@ bool git_buf_text_gather_stats(
}
}
- return (stats->nul > 0 ||
+ /* Treat files with a bare CR as binary */
+ return (stats->cr != stats->crlf || stats->nul > 0 ||
((stats->printable >> 7) < stats->nonprintable));
}
diff --git a/src/crlf.c b/src/crlf.c
index 96cd2d807..ab2419c4c 100644
--- a/src/crlf.c
+++ b/src/crlf.c
@@ -18,68 +18,58 @@
#include "buf_text.h"
#include "repository.h"
+typedef enum {
+ GIT_CRLF_UNDEFINED,
+ GIT_CRLF_BINARY,
+ GIT_CRLF_TEXT,
+ GIT_CRLF_TEXT_INPUT,
+ GIT_CRLF_TEXT_CRLF,
+ GIT_CRLF_AUTO,
+ GIT_CRLF_AUTO_INPUT,
+ GIT_CRLF_AUTO_CRLF,
+} git_crlf_t;
+
struct crlf_attrs {
- int crlf_action;
- int eol;
+ int attr_action; /* the .gitattributes setting */
+ int crlf_action; /* the core.autocrlf setting */
+
int auto_crlf;
int safe_crlf;
+ git_cvar_value core_eol;
};
struct crlf_filter {
git_filter f;
};
-static int check_crlf(const char *value)
+static git_crlf_t check_crlf(const char *value)
{
if (GIT_ATTR_TRUE(value))
return GIT_CRLF_TEXT;
-
- if (GIT_ATTR_FALSE(value))
+ else if (GIT_ATTR_FALSE(value))
return GIT_CRLF_BINARY;
-
- if (GIT_ATTR_UNSPECIFIED(value))
- return GIT_CRLF_GUESS;
-
- if (strcmp(value, "input") == 0)
- return GIT_CRLF_INPUT;
-
- if (strcmp(value, "auto") == 0)
+ else if (GIT_ATTR_UNSPECIFIED(value))
+ ;
+ else if (strcmp(value, "input") == 0)
+ return GIT_CRLF_TEXT_INPUT;
+ else if (strcmp(value, "auto") == 0)
return GIT_CRLF_AUTO;
- return GIT_CRLF_GUESS;
+ return GIT_CRLF_UNDEFINED;
}
-static int check_eol(const char *value)
+static git_cvar_value check_eol(const char *value)
{
if (GIT_ATTR_UNSPECIFIED(value))
- return GIT_EOL_UNSET;
-
- if (strcmp(value, "lf") == 0)
+ ;
+ else if (strcmp(value, "lf") == 0)
return GIT_EOL_LF;
-
- if (strcmp(value, "crlf") == 0)
+ else if (strcmp(value, "crlf") == 0)
return GIT_EOL_CRLF;
return GIT_EOL_UNSET;
}
-static int crlf_input_action(struct crlf_attrs *ca)
-{
- if (ca->crlf_action == GIT_CRLF_BINARY)
- return GIT_CRLF_BINARY;
-
- if (ca->eol == GIT_EOL_LF)
- return GIT_CRLF_INPUT;
-
- if (ca->crlf_action == GIT_CRLF_AUTO)
- return GIT_CRLF_AUTO;
-
- if (ca->eol == GIT_EOL_CRLF)
- return GIT_CRLF_CRLF;
-
- return ca->crlf_action;
-}
-
static int has_cr_in_index(const git_filter_source *src)
{
git_repository *repo = git_filter_source_repo(src);
@@ -122,147 +112,168 @@ static int has_cr_in_index(const git_filter_source *src)
return found_cr;
}
-static int crlf_apply_to_odb(
- struct crlf_attrs *ca,
- git_buf *to,
- const git_buf *from,
- const git_filter_source *src)
+static int text_eol_is_crlf(struct crlf_attrs *ca)
{
- /* Empty file? Nothing to do */
- if (!git_buf_len(from))
+ if (ca->auto_crlf == GIT_AUTO_CRLF_TRUE)
+ return 1;
+ else if (ca->auto_crlf == GIT_AUTO_CRLF_INPUT)
return 0;
- /* Heuristics to see if we can skip the conversion.
- * Straight from Core Git.
- */
- if (ca->crlf_action == GIT_CRLF_AUTO || ca->crlf_action == GIT_CRLF_GUESS) {
- git_buf_text_stats stats;
+ if (ca->core_eol == GIT_EOL_CRLF)
+ return 1;
+ if (ca->core_eol == GIT_EOL_UNSET && GIT_EOL_NATIVE == GIT_EOL_CRLF)
+ return 1;
- /* Check heuristics for binary vs text - returns true if binary */
- if (git_buf_text_gather_stats(&stats, from, false))
- return GIT_PASSTHROUGH;
+ return 0;
+}
- /* If there are no CR characters to filter out, then just pass */
- if (!stats.cr)
- return GIT_PASSTHROUGH;
+static git_cvar_value output_eol(struct crlf_attrs *ca)
+{
+ switch (ca->crlf_action) {
+ case GIT_CRLF_BINARY:
+ return GIT_EOL_UNSET;
+ case GIT_CRLF_TEXT_CRLF:
+ return GIT_EOL_CRLF;
+ case GIT_CRLF_TEXT_INPUT:
+ return GIT_EOL_LF;
+ case GIT_CRLF_UNDEFINED:
+ case GIT_CRLF_AUTO_CRLF:
+ return GIT_EOL_CRLF;
+ case GIT_CRLF_AUTO_INPUT:
+ return GIT_EOL_LF;
+ case GIT_CRLF_TEXT:
+ case GIT_CRLF_AUTO:
+ return text_eol_is_crlf(ca) ? GIT_EOL_CRLF : GIT_EOL_LF;
+ }
+
+ /* TODO: warn when available */
+ return ca->core_eol;
+}
+
+GIT_INLINE(int) check_safecrlf(
+ struct crlf_attrs *ca,
+ const git_filter_source *src,
+ git_buf_text_stats *stats)
+{
+ const char *filename = git_filter_source_path(src);
+
+ if (!ca->safe_crlf)
+ return 0;
+
+ if (output_eol(ca) == GIT_EOL_LF) {
+ /*
+ * CRLFs would not be restored by checkout:
+ * check if we'd remove CRLFs
+ */
+ if (stats->crlf) {
+ if (ca->safe_crlf == GIT_SAFE_CRLF_WARN) {
+ /* TODO: issue a warning when available */
+ } else {
+ if (filename && *filename)
+ giterr_set(
+ GITERR_FILTER, "CRLF would be replaced by LF in '%s'",
+ filename);
+ else
+ giterr_set(
+ GITERR_FILTER, "CRLF would be replaced by LF");
- /* If safecrlf is enabled, sanity-check the result. */
- if (stats.cr != stats.crlf || stats.lf != stats.crlf) {
- switch (ca->safe_crlf) {
- case GIT_SAFE_CRLF_FAIL:
- giterr_set(
- GITERR_FILTER, "LF would be replaced by CRLF in '%s'",
- git_filter_source_path(src));
return -1;
- case GIT_SAFE_CRLF_WARN:
- /* TODO: issue warning when warning API is available */;
- break;
- default:
- break;
}
}
-
+ } else if (output_eol(ca) == GIT_EOL_CRLF) {
/*
- * We're currently not going to even try to convert stuff
- * that has bare CR characters. Does anybody do that crazy
- * stuff?
+ * CRLFs would be added by checkout:
+ * check if we have "naked" LFs
*/
- if (stats.cr != stats.crlf)
- return GIT_PASSTHROUGH;
+ if (stats->crlf != stats->lf) {
+ if (ca->safe_crlf == GIT_SAFE_CRLF_WARN) {
+ /* TODO: issue a warning when available */
+ } else {
+ if (filename && *filename)
+ giterr_set(
+ GITERR_FILTER, "LF would be replaced by CRLF in '%s'",
+ filename);
+ else
+ giterr_set(
+ GITERR_FILTER, "LF would be replaced by CRLF");
- if (ca->crlf_action == GIT_CRLF_GUESS) {
- /*
- * If the file in the index has any CR in it, do not convert.
- * This is the new safer autocrlf handling.
- */
- if (has_cr_in_index(src))
- return GIT_PASSTHROUGH;
+ return -1;
+ }
}
-
- if (!stats.cr)
- return GIT_PASSTHROUGH;
}
- /* Actually drop the carriage returns */
- return git_buf_text_crlf_to_lf(to, from);
+ return 0;
}
-static const char *line_ending(struct crlf_attrs *ca)
+static int crlf_apply_to_odb(
+ struct crlf_attrs *ca,
+ git_buf *to,
+ const git_buf *from,
+ const git_filter_source *src)
{
- switch (ca->crlf_action) {
- case GIT_CRLF_BINARY:
- case GIT_CRLF_INPUT:
- return "\n";
+ git_buf_text_stats stats;
+ bool is_binary;
+ int error;
- case GIT_CRLF_CRLF:
- return "\r\n";
+ /* Binary attribute? Empty file? Nothing to do */
+ if (ca->crlf_action == GIT_CRLF_BINARY || !git_buf_len(from))
+ return GIT_PASSTHROUGH;
- case GIT_CRLF_GUESS:
- if (ca->auto_crlf == GIT_AUTO_CRLF_FALSE)
- return "\n";
- break;
+ is_binary = git_buf_text_gather_stats(&stats, from, false);
- case GIT_CRLF_AUTO:
- if (ca->eol == GIT_EOL_CRLF)
- return "\r\n";
- case GIT_CRLF_TEXT:
- break;
+ /* Heuristics to see if we can skip the conversion.
+ * Straight from Core Git.
+ */
+ if (ca->crlf_action == GIT_CRLF_AUTO ||
+ ca->crlf_action == GIT_CRLF_AUTO_INPUT ||
+ ca->crlf_action == GIT_CRLF_AUTO_CRLF) {
- default:
- goto line_ending_error;
+ if (is_binary)
+ return GIT_PASSTHROUGH;
+
+ /*
+ * If the file in the index has any CR in it, do not convert.
+ * This is the new safer autocrlf handling.
+ */
+ if (has_cr_in_index(src))
+ return GIT_PASSTHROUGH;
}
- if (ca->auto_crlf == GIT_AUTO_CRLF_TRUE)
- return "\r\n";
- else if (ca->auto_crlf == GIT_AUTO_CRLF_INPUT)
- return "\n";
- else if (ca->eol == GIT_EOL_UNSET)
- return GIT_EOL_NATIVE == GIT_EOL_CRLF ? "\r\n" : "\n";
- else if (ca->eol == GIT_EOL_LF)
- return "\n";
- else if (ca->eol == GIT_EOL_CRLF)
- return "\r\n";
-
-line_ending_error:
- giterr_set(GITERR_INVALID, "invalid input to line ending filter");
- return NULL;
+ if ((error = check_safecrlf(ca, src, &stats)) < 0)
+ return error;
+
+ /* If there are no CR characters to filter out, then just pass */
+ if (!stats.crlf)
+ return GIT_PASSTHROUGH;
+
+ /* Actually drop the carriage returns */
+ return git_buf_text_crlf_to_lf(to, from);
}
static int crlf_apply_to_workdir(
- struct crlf_attrs *ca, git_buf *to, const git_buf *from)
+ struct crlf_attrs *ca,
+ git_buf *to,
+ const git_buf *from)
{
git_buf_text_stats stats;
- const char *workdir_ending = NULL;
bool is_binary;
/* Empty file? Nothing to do. */
- if (git_buf_len(from) == 0)
- return 0;
-
- /* Determine proper line ending */
- workdir_ending = line_ending(ca);
- if (!workdir_ending)
- return -1;
-
- /* only LF->CRLF conversion is supported, do nothing on LF platforms */
- if (strcmp(workdir_ending, "\r\n") != 0)
+ if (git_buf_len(from) == 0 || output_eol(ca) != GIT_EOL_CRLF)
return GIT_PASSTHROUGH;
- /* If there are no LFs, or all LFs are part of a CRLF, nothing to do */
is_binary = git_buf_text_gather_stats(&stats, from, false);
+ /* If there are no LFs, or all LFs are part of a CRLF, nothing to do */
if (stats.lf == 0 || stats.lf == stats.crlf)
return GIT_PASSTHROUGH;
if (ca->crlf_action == GIT_CRLF_AUTO ||
- ca->crlf_action == GIT_CRLF_GUESS) {
+ ca->crlf_action == GIT_CRLF_AUTO_INPUT ||
+ ca->crlf_action == GIT_CRLF_AUTO_CRLF) {
/* If we have any existing CR or CRLF line endings, do nothing */
- if (stats.cr > 0 && stats.crlf > 0)
- return GIT_PASSTHROUGH;
-
- /* If we have bare CR characters, do nothing */
- if (stats.cr != stats.crlf)
+ if (stats.cr > 0)
return GIT_PASSTHROUGH;
/* Don't filter binary files */
@@ -273,69 +284,80 @@ static int crlf_apply_to_workdir(
return git_buf_text_lf_to_crlf(to, from);
}
-static int crlf_check(
- git_filter *self,
- void **payload, /* points to NULL ptr on entry, may be set */
- const git_filter_source *src,
- const char **attr_values)
+static int convert_attrs(
+ struct crlf_attrs *ca,
+ const char **attr_values,
+ const git_filter_source *src)
{
int error;
- struct crlf_attrs ca;
- GIT_UNUSED(self);
+ memset(ca, 0, sizeof(struct crlf_attrs));
+
+ if ((error = git_repository__cvar(&ca->auto_crlf,
+ git_filter_source_repo(src), GIT_CVAR_AUTO_CRLF)) < 0 ||
+ (error = git_repository__cvar(&ca->safe_crlf,
+ git_filter_source_repo(src), GIT_CVAR_SAFE_CRLF)) < 0 ||
+ (error = git_repository__cvar(&ca->core_eol,
+ git_filter_source_repo(src), GIT_CVAR_EOL)) < 0)
+ return error;
+
+ /* downgrade FAIL to WARN if ALLOW_UNSAFE option is used */
+ if ((git_filter_source_flags(src) & GIT_FILTER_ALLOW_UNSAFE) &&
+ ca->safe_crlf == GIT_SAFE_CRLF_FAIL)
+ ca->safe_crlf = GIT_SAFE_CRLF_WARN;
+
+ if (attr_values) {
+ /* load the text attribute */
+ ca->crlf_action = check_crlf(attr_values[2]); /* text */
+
+ if (ca->crlf_action == GIT_CRLF_UNDEFINED)
+ ca->crlf_action = check_crlf(attr_values[0]); /* crlf */
+
+ if (ca->crlf_action != GIT_CRLF_BINARY) {
+ /* load the eol attribute */
+ int eol_attr = check_eol(attr_values[1]);
+
+ if (ca->crlf_action == GIT_CRLF_AUTO && eol_attr == GIT_EOL_LF)
+ ca->crlf_action = GIT_CRLF_AUTO_INPUT;
+ else if (ca->crlf_action == GIT_CRLF_AUTO && eol_attr == GIT_EOL_CRLF)
+ ca->crlf_action = GIT_CRLF_AUTO_CRLF;
+ else if (eol_attr == GIT_EOL_LF)
+ ca->crlf_action = GIT_CRLF_TEXT_INPUT;
+ else if (eol_attr == GIT_EOL_CRLF)
+ ca->crlf_action = GIT_CRLF_TEXT_CRLF;
+ }
- if (!attr_values) {
- ca.crlf_action = GIT_CRLF_GUESS;
- ca.eol = GIT_EOL_UNSET;
+ ca->attr_action = ca->crlf_action;
} else {
- ca.crlf_action = check_crlf(attr_values[2]); /* text */
- if (ca.crlf_action == GIT_CRLF_GUESS)
- ca.crlf_action = check_crlf(attr_values[0]); /* clrf */
- ca.eol = check_eol(attr_values[1]); /* eol */
+ ca->crlf_action = GIT_CRLF_UNDEFINED;
}
- ca.auto_crlf = GIT_AUTO_CRLF_DEFAULT;
- ca.safe_crlf = GIT_SAFE_CRLF_DEFAULT;
- /*
- * Use the core Git logic to see if we should perform CRLF for this file
- * based on its attributes & the value of `core.autocrlf`
- */
- ca.crlf_action = crlf_input_action(&ca);
+ if (ca->crlf_action == GIT_CRLF_TEXT)
+ ca->crlf_action = text_eol_is_crlf(ca) ? GIT_CRLF_TEXT_CRLF : GIT_CRLF_TEXT_INPUT;
+ if (ca->crlf_action == GIT_CRLF_UNDEFINED && ca->auto_crlf == GIT_AUTO_CRLF_FALSE)
+ ca->crlf_action = GIT_CRLF_BINARY;
+ if (ca->crlf_action == GIT_CRLF_UNDEFINED && ca->auto_crlf == GIT_AUTO_CRLF_TRUE)
+ ca->crlf_action = GIT_CRLF_AUTO_CRLF;
+ if (ca->crlf_action == GIT_CRLF_UNDEFINED && ca->auto_crlf == GIT_AUTO_CRLF_INPUT)
+ ca->crlf_action = GIT_CRLF_AUTO_INPUT;
- if (ca.crlf_action == GIT_CRLF_BINARY)
- return GIT_PASSTHROUGH;
-
- if (ca.crlf_action == GIT_CRLF_GUESS ||
- ((ca.crlf_action == GIT_CRLF_AUTO ||
- ca.crlf_action == GIT_CRLF_TEXT) &&
- git_filter_source_mode(src) == GIT_FILTER_SMUDGE)) {
-
- error = git_repository__cvar(
- &ca.auto_crlf, git_filter_source_repo(src), GIT_CVAR_AUTO_CRLF);
- if (error < 0)
- return error;
+ return 0;
+}
- if (ca.crlf_action == GIT_CRLF_GUESS &&
- ca.auto_crlf == GIT_AUTO_CRLF_FALSE)
- return GIT_PASSTHROUGH;
+static int crlf_check(
+ git_filter *self,
+ void **payload, /* points to NULL ptr on entry, may be set */
+ const git_filter_source *src,
+ const char **attr_values)
+{
+ struct crlf_attrs ca;
- if (ca.auto_crlf == GIT_AUTO_CRLF_INPUT &&
- ca.eol != GIT_EOL_CRLF &&
- git_filter_source_mode(src) == GIT_FILTER_SMUDGE)
- return GIT_PASSTHROUGH;
- }
+ GIT_UNUSED(self);
- if (git_filter_source_mode(src) == GIT_FILTER_CLEAN) {
- error = git_repository__cvar(
- &ca.safe_crlf, git_filter_source_repo(src), GIT_CVAR_SAFE_CRLF);
- if (error < 0)
- return error;
+ convert_attrs(&ca, attr_values, src);
- /* downgrade FAIL to WARN if ALLOW_UNSAFE option is used */
- if ((git_filter_source_flags(src) & GIT_FILTER_ALLOW_UNSAFE) &&
- ca.safe_crlf == GIT_SAFE_CRLF_FAIL)
- ca.safe_crlf = GIT_SAFE_CRLF_WARN;
- }
+ if (ca.crlf_action == GIT_CRLF_BINARY)
+ return GIT_PASSTHROUGH;
*payload = git__malloc(sizeof(ca));
GITERR_CHECK_ALLOC(*payload);
@@ -345,15 +367,16 @@ static int crlf_check(
}
static int crlf_apply(
- git_filter *self,
- void **payload, /* may be read and/or set */
- git_buf *to,
+ git_filter *self,
+ void **payload, /* may be read and/or set */
+ git_buf *to,
const git_buf *from,
const git_filter_source *src)
{
/* initialize payload in case `check` was bypassed */
if (!*payload) {
int error = crlf_check(self, payload, src, NULL);
+
if (error < 0)
return error;
}
diff --git a/src/filter.h b/src/filter.h
index b1c403ba9..34081fb4a 100644
--- a/src/filter.h
+++ b/src/filter.h
@@ -15,16 +15,6 @@
/* Amount of file to examine for NUL byte when checking binary-ness */
#define GIT_FILTER_BYTES_TO_CHECK_NUL 8000
-/* Possible CRLF values */
-typedef enum {
- GIT_CRLF_GUESS = -1,
- GIT_CRLF_BINARY = 0,
- GIT_CRLF_TEXT,
- GIT_CRLF_INPUT,
- GIT_CRLF_CRLF,
- GIT_CRLF_AUTO,
-} git_crlf_t;
-
typedef struct {
git_attr_session *attr_session;
git_buf *temp_buf;
diff --git a/tests/checkout/crlf.c b/tests/checkout/crlf.c
index ed9745d8d..ff3a2dc64 100644
--- a/tests/checkout/crlf.c
+++ b/tests/checkout/crlf.c
@@ -13,14 +13,40 @@ static git_repository *g_repo;
static const char *systype;
static git_buf expected_fixture = GIT_BUF_INIT;
+static int unlink_file(void *payload, git_buf *path)
+{
+ char *fn;
+
+ cl_assert(fn = git_path_basename(path->ptr));
+
+ GIT_UNUSED(payload);
+
+ if (strcmp(fn, ".git"))
+ cl_must_pass(p_unlink(path->ptr));
+
+ git__free(fn);
+ return 0;
+}
+
void test_checkout_crlf__initialize(void)
{
+ git_buf reponame = GIT_BUF_INIT;
+
g_repo = cl_git_sandbox_init("crlf");
+ /*
+ * remove the contents of the working directory so that we can
+ * check out over it.
+ */
+ cl_git_pass(git_buf_puts(&reponame, "crlf"));
+ cl_git_pass(git_path_direach(&reponame, 0, unlink_file, NULL));
+
if (GIT_EOL_NATIVE == GIT_EOL_CRLF)
systype = "windows";
else
systype = "posix";
+
+ git_buf_dispose(&reponame);
}
void test_checkout_crlf__cleanup(void)
@@ -99,41 +125,45 @@ static void test_checkout(const char *autocrlf, const char *attrs)
{
git_buf attrbuf = GIT_BUF_INIT;
git_buf expected_dirname = GIT_BUF_INIT;
+ git_buf systype_and_direction = GIT_BUF_INIT;
git_buf sandboxname = GIT_BUF_INIT;
git_buf reponame = GIT_BUF_INIT;
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
struct compare_data compare_data = { NULL, autocrlf, attrs };
const char *c;
- git_buf_puts(&reponame, "crlf");
+ cl_git_pass(git_buf_puts(&reponame, "crlf"));
+
+ cl_git_pass(git_buf_puts(&systype_and_direction, systype));
+ cl_git_pass(git_buf_puts(&systype_and_direction, "_to_workdir"));
- git_buf_puts(&sandboxname, "autocrlf_");
- git_buf_puts(&sandboxname, autocrlf);
+ cl_git_pass(git_buf_puts(&sandboxname, "autocrlf_"));
+ cl_git_pass(git_buf_puts(&sandboxname, autocrlf));
if (*attrs) {
- git_buf_puts(&sandboxname, ",");
+ cl_git_pass(git_buf_puts(&sandboxname, ","));
for (c = attrs; *c; c++) {
if (*c == ' ')
- git_buf_putc(&sandboxname, ',');
+ cl_git_pass(git_buf_putc(&sandboxname, ','));
else if (*c == '=')
- git_buf_putc(&sandboxname, '_');
+ cl_git_pass(git_buf_putc(&sandboxname, '_'));
else
- git_buf_putc(&sandboxname, *c);
+ cl_git_pass(git_buf_putc(&sandboxname, *c));
}
- git_buf_printf(&attrbuf, "* %s\n", attrs);
+ cl_git_pass(git_buf_printf(&attrbuf, "* %s\n", attrs));
cl_git_mkfile("crlf/.gitattributes", attrbuf.ptr);
}
cl_repo_set_string(g_repo, "core.autocrlf", autocrlf);
- git_buf_joinpath(&expected_dirname, systype, sandboxname.ptr);
- git_buf_joinpath(&expected_fixture, "crlf_data", expected_dirname.ptr);
+ cl_git_pass(git_buf_joinpath(&expected_dirname, systype_and_direction.ptr, sandboxname.ptr));
+ cl_git_pass(git_buf_joinpath(&expected_fixture, "crlf_data", expected_dirname.ptr));
cl_fixture_sandbox(expected_fixture.ptr);
opts.checkout_strategy = GIT_CHECKOUT_FORCE;
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
compare_data.dirname = sandboxname.ptr;
cl_git_pass(git_path_direach(&reponame, 0, compare_file, &compare_data));
@@ -145,25 +175,27 @@ static void test_checkout(const char *autocrlf, const char *attrs)
git_buf_dispose(&expected_fixture);
git_buf_dispose(&expected_dirname);
git_buf_dispose(&sandboxname);
+ git_buf_dispose(&systype_and_direction);
git_buf_dispose(&reponame);
}
static void empty_workdir(const char *name)
{
git_vector contents = GIT_VECTOR_INIT;
+ char *basename;
+ int cmp;
size_t i;
const char *fn;
- git_path_dirload(&contents, name, 0, 0);
+ cl_git_pass(git_path_dirload(&contents, name, 0, 0));
git_vector_foreach(&contents, i, fn) {
- char *basename = git_path_basename(fn);
- int cmp = strncasecmp(basename, ".git", 4);
+ cl_assert(basename = git_path_basename(fn));
+ cmp = strncasecmp(basename, ".git", 4);
git__free(basename);
- if (cmp == 0)
- continue;
- p_unlink(fn);
+ if (cmp)
+ cl_git_pass(p_unlink(fn));
}
git_vector_free_deep(&contents);
}
@@ -173,7 +205,7 @@ void test_checkout_crlf__matches_core_git(void)
const char *autocrlf[] = { "true", "false", "input", NULL };
const char *attrs[] = { "", "-crlf", "-text", "eol=crlf", "eol=lf",
"text", "text eol=crlf", "text eol=lf",
- "text=auto", "text=auto eol=crlf", "text=auto eol=lf",
+ "text=auto", "text=auto eol=crlf", "text=auto eol=lf",
NULL };
const char **a, **b;
@@ -335,7 +367,7 @@ void test_checkout_crlf__with_ident(void)
p_unlink("crlf/more1.identlf");
p_unlink("crlf/more2.identcrlf");
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
cl_assert_equal_file(
ALL_LF_TEXT_AS_CRLF
@@ -364,7 +396,7 @@ void test_checkout_crlf__autocrlf_false_no_attrs(void)
cl_repo_set_bool(g_repo, "core.autocrlf", false);
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
@@ -377,7 +409,7 @@ void test_checkout_crlf__autocrlf_true_no_attrs(void)
cl_repo_set_bool(g_repo, "core.autocrlf", true);
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_AS_CRLF);
@@ -390,7 +422,7 @@ void test_checkout_crlf__autocrlf_input_no_attrs(void)
cl_repo_set_string(g_repo, "core.autocrlf", "input");
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
@@ -405,7 +437,7 @@ void test_checkout_crlf__autocrlf_false_text_auto_attr(void)
cl_repo_set_bool(g_repo, "core.autocrlf", false);
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
if (GIT_EOL_NATIVE == GIT_EOL_CRLF) {
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
@@ -425,7 +457,7 @@ void test_checkout_crlf__autocrlf_true_text_auto_attr(void)
cl_repo_set_bool(g_repo, "core.autocrlf", true);
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_AS_CRLF);
@@ -440,7 +472,7 @@ void test_checkout_crlf__autocrlf_input_text_auto_attr(void)
cl_repo_set_string(g_repo, "core.autocrlf", "input");
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_checkout_head(g_repo, &opts));
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
@@ -453,8 +485,8 @@ void test_checkout_crlf__can_write_empty_file(void)
cl_repo_set_bool(g_repo, "core.autocrlf", true);
- git_repository_set_head(g_repo, "refs/heads/empty-files");
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_repository_set_head(g_repo, "refs/heads/empty-files"));
+ cl_git_pass(git_checkout_head(g_repo, &opts));
check_file_contents("./crlf/test1.txt", "");
diff --git a/tests/filter/crlf.c b/tests/filter/crlf.c
index f67cb6248..a98646271 100644
--- a/tests/filter/crlf.c
+++ b/tests/filter/crlf.c
@@ -99,12 +99,19 @@ void test_filter_crlf__with_safecrlf(void)
cl_git_fail(git_filter_list_apply_to_data(&out, fl, &in));
cl_assert_equal_i(giterr_last()->klass, GITERR_FILTER);
- /* Normalized \n is reversible, so does not fail with safecrlf */
+ /* Normalized \n fails for autocrlf=true when safecrlf=true */
in.ptr = "Normal\nLF\nonly\nline-endings.\n";
in.size = strlen(in.ptr);
+ cl_git_fail(git_filter_list_apply_to_data(&out, fl, &in));
+ cl_assert_equal_i(giterr_last()->klass, GITERR_FILTER);
+
+ /* String with \r but without \r\n does not fail with safecrlf */
+ in.ptr = "Normal\nCR only\rand some more\nline-endings.\n";
+ in.size = strlen(in.ptr);
+
cl_git_pass(git_filter_list_apply_to_data(&out, fl, &in));
- cl_assert_equal_s(in.ptr, out.ptr);
+ cl_assert_equal_s("Normal\nCR only\rand some more\nline-endings.\n", out.ptr);
git_filter_list_free(fl);
git_buf_dispose(&out);
diff --git a/tests/index/crlf.c b/tests/index/crlf.c
index 23f47932f..31050f8f8 100644
--- a/tests/index/crlf.c
+++ b/tests/index/crlf.c
@@ -14,9 +14,11 @@
static git_repository *g_repo;
static git_index *g_index;
+static git_buf expected_fixture = GIT_BUF_INIT;
+
void test_index_crlf__initialize(void)
{
- g_repo = cl_git_sandbox_init("crlf");
+ g_repo = cl_git_sandbox_init_new("crlf");
cl_git_pass(git_repository_index(&g_index, g_repo));
}
@@ -24,6 +26,208 @@ void test_index_crlf__cleanup(void)
{
git_index_free(g_index);
cl_git_sandbox_cleanup();
+
+ if (expected_fixture.size) {
+ cl_fixture_cleanup(expected_fixture.ptr);
+ git_buf_free(&expected_fixture);
+ }
+}
+
+struct compare_data
+{
+ const char *systype;
+ const char *dirname;
+ const char *safecrlf;
+ const char *autocrlf;
+ const char *attrs;
+};
+
+static int add_and_check_file(void *payload, git_buf *actual_path)
+{
+ git_buf expected_path = GIT_BUF_INIT;
+ git_buf expected_path_fail = GIT_BUF_INIT;
+ git_buf expected_contents = GIT_BUF_INIT;
+ struct compare_data *cd = payload;
+ char *basename;
+ const git_index_entry *entry;
+ git_blob *blob;
+ bool failed = true;
+
+ basename = git_path_basename(actual_path->ptr);
+
+ if (!strcmp(basename, ".git") || !strcmp(basename, ".gitattributes")) {
+ failed = false;
+ goto done;
+ }
+
+ cl_git_pass(git_buf_joinpath(&expected_path, cd->dirname, basename));
+
+ cl_git_pass(git_buf_puts(&expected_path_fail, expected_path.ptr));
+ cl_git_pass(git_buf_puts(&expected_path_fail, ".fail"));
+
+ if (git_path_isfile(expected_path.ptr)) {
+ cl_git_pass(git_index_add_bypath(g_index, basename));
+
+ cl_assert(entry = git_index_get_bypath(g_index, basename, 0));
+ cl_git_pass(git_blob_lookup(&blob, g_repo, &entry->id));
+
+ cl_git_pass(git_futils_readbuffer(&expected_contents, expected_path.ptr));
+
+ if (strcmp(expected_contents.ptr, git_blob_rawcontent(blob)) != 0)
+ goto done;
+
+ git_blob_free(blob);
+ } else if (git_path_isfile(expected_path_fail.ptr)) {
+ cl_git_pass(git_futils_readbuffer(&expected_contents, expected_path_fail.ptr));
+ git_buf_rtrim(&expected_contents);
+
+ if (git_index_add_bypath(g_index, basename) == 0 ||
+ giterr_last()->klass != GITERR_FILTER ||
+ strcmp(expected_contents.ptr, giterr_last()->message) != 0)
+ goto done;
+ } else {
+ cl_fail("unexpected index failure");
+ }
+
+ failed = false;
+
+done:
+ if (failed) {
+ git_buf details = GIT_BUF_INIT;
+ git_buf_printf(&details, "filename=%s, system=%s, autocrlf=%s, safecrlf=%s, attrs={%s}",
+ basename, cd->systype, cd->autocrlf, cd->safecrlf, cd->attrs);
+ clar__fail(__FILE__, __LINE__,
+ "index contents did not match expected", details.ptr, 0);
+ git_buf_dispose(&details);
+ }
+
+ git__free(basename);
+ git_buf_dispose(&expected_contents);
+ git_buf_dispose(&expected_path);
+ git_buf_dispose(&expected_path_fail);
+ return 0;
+}
+
+static const char *system_type(void)
+{
+ if (GIT_EOL_NATIVE == GIT_EOL_CRLF)
+ return "windows";
+ else
+ return "posix";
+}
+
+static void test_add_index(const char *safecrlf, const char *autocrlf, const char *attrs)
+{
+ git_buf attrbuf = GIT_BUF_INIT;
+ git_buf expected_dirname = GIT_BUF_INIT;
+ git_buf sandboxname = GIT_BUF_INIT;
+ git_buf reponame = GIT_BUF_INIT;
+ struct compare_data compare_data = { system_type(), NULL, safecrlf, autocrlf, attrs };
+ const char *c;
+
+ git_buf_puts(&reponame, "crlf");
+
+ git_buf_puts(&sandboxname, "autocrlf_");
+ git_buf_puts(&sandboxname, autocrlf);
+
+ git_buf_puts(&sandboxname, ",safecrlf_");
+ git_buf_puts(&sandboxname, safecrlf);
+
+ if (*attrs) {
+ git_buf_puts(&sandboxname, ",");
+
+ for (c = attrs; *c; c++) {
+ if (*c == ' ')
+ git_buf_putc(&sandboxname, ',');
+ else if (*c == '=')
+ git_buf_putc(&sandboxname, '_');
+ else
+ git_buf_putc(&sandboxname, *c);
+ }
+
+ git_buf_printf(&attrbuf, "* %s\n", attrs);
+ cl_git_mkfile("crlf/.gitattributes", attrbuf.ptr);
+ }
+
+ cl_repo_set_string(g_repo, "core.safecrlf", safecrlf);
+ cl_repo_set_string(g_repo, "core.autocrlf", autocrlf);
+
+ cl_git_pass(git_index_clear(g_index));
+
+ git_buf_joinpath(&expected_dirname, "crlf_data", system_type());
+ git_buf_puts(&expected_dirname, "_to_odb");
+
+ git_buf_joinpath(&expected_fixture, expected_dirname.ptr, sandboxname.ptr);
+ cl_fixture_sandbox(expected_fixture.ptr);
+
+ compare_data.dirname = sandboxname.ptr;
+ cl_git_pass(git_path_direach(&reponame, 0, add_and_check_file, &compare_data));
+
+ cl_fixture_cleanup(expected_fixture.ptr);
+ git_buf_free(&expected_fixture);
+
+ git_buf_free(&attrbuf);
+ git_buf_free(&expected_fixture);
+ git_buf_free(&expected_dirname);
+ git_buf_free(&sandboxname);
+ git_buf_free(&reponame);
+}
+
+static void set_up_workingdir(const char *name)
+{
+ git_vector contents = GIT_VECTOR_INIT;
+ size_t i;
+ const char *fn;
+
+ git_path_dirload(&contents, name, 0, 0);
+ git_vector_foreach(&contents, i, fn) {
+ char *basename = git_path_basename(fn);
+ bool skip = strncasecmp(basename, ".git", 4) == 0 && strlen(basename) == 4;
+
+ git__free(basename);
+
+ if (skip)
+ continue;
+ p_unlink(fn);
+ }
+ git_vector_free_deep(&contents);
+
+ /* copy input files */
+ git_path_dirload(&contents, cl_fixture("crlf"), 0, 0);
+ git_vector_foreach(&contents, i, fn) {
+ char *basename = git_path_basename(fn);
+ git_buf dest_filename = GIT_BUF_INIT;
+
+ if (strcmp(basename, ".gitted") &&
+ strcmp(basename, ".gitattributes")) {
+ git_buf_joinpath(&dest_filename, name, basename);
+ cl_git_pass(git_futils_cp(fn, dest_filename.ptr, 0644));
+ }
+
+ git__free(basename);
+ git_buf_free(&dest_filename);
+ }
+ git_vector_free_deep(&contents);
+}
+
+void test_index_crlf__matches_core_git(void)
+{
+ const char *safecrlf[] = { "true", "false", "warn", NULL };
+ const char *autocrlf[] = { "true", "false", "input", NULL };
+ const char *attrs[] = { "", "-crlf", "-text", "eol=crlf", "eol=lf",
+ "text", "text eol=crlf", "text eol=lf",
+ "text=auto", "text=auto eol=crlf", "text=auto eol=lf",
+ NULL };
+ const char **a, **b, **c;
+
+ for (a = safecrlf; *a; a++) {
+ for (b = autocrlf; *b; b++) {
+ for (c = attrs; *c; c++) {
+ set_up_workingdir("crlf");
+ test_add_index(*a, *b, *c);
+ }
+ }
+ }
}
void test_index_crlf__autocrlf_false_no_attrs(void)
@@ -135,13 +339,55 @@ void test_index_crlf__autocrlf_input_text_auto_attr(void)
cl_assert_equal_oid(&oid, &entry->id);
}
+void test_index_crlf__safecrlf_true_autocrlf_input_text_auto_attr(void)
+{
+ const git_index_entry *entry;
+ git_oid oid;
+
+ cl_git_mkfile("./crlf/.gitattributes", "* text=auto\n");
+
+ cl_repo_set_string(g_repo, "core.autocrlf", "input");
+ cl_repo_set_bool(g_repo, "core.safecrlf", true);
+
+ cl_git_mkfile("./crlf/newfile.txt", FILE_CONTENTS_LF);
+
+ cl_git_pass(git_index_add_bypath(g_index, "newfile.txt"));
+ entry = git_index_get_bypath(g_index, "newfile.txt", 0);
+
+ cl_git_pass(git_oid_fromstr(&oid, FILE_OID_LF));
+ cl_assert_equal_oid(&oid, &entry->id);
+
+ cl_git_mkfile("./crlf/newfile2.txt", FILE_CONTENTS_CRLF);
+ cl_git_fail(git_index_add_bypath(g_index, "newfile2.txt"));
+}
+
+void test_index_crlf__safecrlf_true_autocrlf_input_text__no_attr(void)
+{
+ const git_index_entry *entry;
+ git_oid oid;
+
+ cl_repo_set_string(g_repo, "core.autocrlf", "input");
+ cl_repo_set_bool(g_repo, "core.safecrlf", true);
+
+ cl_git_mkfile("./crlf/newfile.txt", FILE_CONTENTS_LF);
+
+ cl_git_pass(git_index_add_bypath(g_index, "newfile.txt"));
+ entry = git_index_get_bypath(g_index, "newfile.txt", 0);
+
+ cl_git_pass(git_oid_fromstr(&oid, FILE_OID_LF));
+ cl_assert_equal_oid(&oid, &entry->id);
+
+ cl_git_mkfile("./crlf/newfile2.txt", FILE_CONTENTS_CRLF);
+ cl_git_fail(git_index_add_bypath(g_index, "newfile2.txt"));
+}
+
void test_index_crlf__safecrlf_true_no_attrs(void)
{
cl_repo_set_bool(g_repo, "core.autocrlf", true);
cl_repo_set_bool(g_repo, "core.safecrlf", true);
cl_git_mkfile("crlf/newfile.txt", ALL_LF_TEXT_RAW);
- cl_git_pass(git_index_add_bypath(g_index, "newfile.txt"));
+ cl_git_fail(git_index_add_bypath(g_index, "newfile.txt"));
cl_git_mkfile("crlf/newfile.txt", ALL_CRLF_TEXT_RAW);
cl_git_pass(git_index_add_bypath(g_index, "newfile.txt"));
diff --git a/tests/resources/.gitattributes b/tests/resources/.gitattributes
index 556f8c827..047f77f55 100644
--- a/tests/resources/.gitattributes
+++ b/tests/resources/.gitattributes
@@ -1 +1,2 @@
* binary
+*.sh text diff merge eol=lf
diff --git a/tests/resources/crlf/.gitattributes b/tests/resources/crlf/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf
+++ b/tests/resources/crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf b/tests/resources/crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf
+++ b/tests/resources/crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom
+++ b/tests/resources/crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf
+++ b/tests/resources/crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf
+++ b/tests/resources/crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr
+++ b/tests/resources/crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf
+++ b/tests/resources/crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf b/tests/resources/crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf
+++ b/tests/resources/crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom
+++ b/tests/resources/crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte
+++ b/tests/resources/crlf/zero-byte
diff --git a/tests/resources/crlf_data/README b/tests/resources/crlf_data/README
index 2347e126f..0c8badf9f 100644
--- a/tests/resources/crlf_data/README
+++ b/tests/resources/crlf_data/README
@@ -1,2 +1,3 @@
This test data was generated using the `tests/resources/generate_crlf.sh`
-script. Please see that script for usage information.
+(posix and windows directories) and `tests/resources/generate_crlf_checkin.sh`
+(checkin_results directory) scripts. Please see these scripts for usage information.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte
+++ 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/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf
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/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte
+++ 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/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
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/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte
+++ 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/autocrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf
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/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte
+++ 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/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
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/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte
+++ 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/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,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
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,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
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,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
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,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
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
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/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte
+++ 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/autocrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf
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/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte
+++ 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/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/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
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
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/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte
+++ 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/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,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
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,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
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,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
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/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte
+++ 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/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf
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/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte
+++ 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/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom
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/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr
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/windows/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf
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/windows/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr
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/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte
+++ 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/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf
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/windows/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf
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/windows/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf
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/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte
+++ 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/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom
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/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_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
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_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
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/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf
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/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr
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/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte
+++ 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/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf
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/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
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/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
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/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte
+++ 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/autocrlf_input/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom
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/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_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
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_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
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/windows/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf
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/windows/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_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
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_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
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/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte
+++ 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/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom
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/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr
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/windows/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf
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/windows/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr
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/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte
+++ 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/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/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
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
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/windows/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
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/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte
+++ 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/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/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
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/windows/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
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/windows/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
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/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte
+++ 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/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
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/windows/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf
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/windows/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf
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/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte
+++ 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/windows/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf
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/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte
+++ 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/windows/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
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/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte
+++ 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/windows/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
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/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte
+++ 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/windows/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
index f4d25b796..f4d25b796 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
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/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
index 9a6c3533f..9a6c3533f 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
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/windows/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
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/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte
+++ 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/windows/autocrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,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
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,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
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,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-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,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-crlf
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/windows/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
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/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte
+++ 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/windows/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf
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/windows/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf
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/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte
+++ 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/windows/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/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
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/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
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/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte
+++ 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/windows/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/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
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/windows/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
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/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte
+++ 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/windows/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
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/windows/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf
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/autocrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
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/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
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/windows/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
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/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
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/windows/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf
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/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf
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/windows/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte
+++ 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/windows/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
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/windows/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf
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/windows/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte
+++ 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/windows/autocrlf_input/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf
index af6fcf6da..af6fcf6da 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf
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/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
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/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
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/windows/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte
+++ 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/windows/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom
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/windows/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr
index 203555c56..203555c56 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr
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/windows/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr
index d11e7ef63..d11e7ef63 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr
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/windows/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte
+++ 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/windows/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom
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/windows/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte
+++ 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/windows/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom
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/windows/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte
+++ 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/windows/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom
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/windows/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte
+++ 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/windows/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf
index 799770d1c..799770d1c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
index 7cce67e58..7cce67e58 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
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/autocrlf_true,-text/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/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
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/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
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/windows/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte
+++ 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/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf
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/autocrlf_true,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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,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
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/autocrlf_true,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
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,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
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/windows/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte
+++ 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/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf
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/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
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/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf
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/windows/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/zero-byte
+++ 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/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf
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/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf
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/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf
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/windows/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom
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/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/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/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/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/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/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/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom
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/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/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/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/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/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/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/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte
+++ 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/windows/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte
+++ 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/windows/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte
+++ 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/windows/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte
+++ 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/windows/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte
+++ 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/windows/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte
+++ 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/windows/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte
+++ 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/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
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/autocrlf_true/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/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
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/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
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/windows/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte
+++ 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/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf
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/windows/autocrlf_false,-crlf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/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
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/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
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/windows/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte
+++ 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/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf
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/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
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/windows/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf
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/windows/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/zero-byte
+++ 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/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf
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/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf
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/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf
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/windows/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom
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/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf
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/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf
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/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf
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/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom
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/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf
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/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf
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/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf
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/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte
+++ 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/windows/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte
+++ 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/windows/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte
+++ 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/windows/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte
+++ 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/windows/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte
+++ 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/windows/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte
+++ 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/windows/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte
+++ 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/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
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/windows/autocrlf_false,text_auto,eol_lf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/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
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/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
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/windows/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte
+++ 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/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
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/windows/autocrlf_false,text_auto/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/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
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/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
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/windows/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte
+++ 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/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf
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/windows/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
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/windows/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf
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/windows/autocrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte
index e69de29bb..e69de29bb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/zero-byte
+++ 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/windows/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf
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/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf
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/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf
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/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom
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/windows/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf
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/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf
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/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf
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/windows/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom
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/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom
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/windows/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf
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/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf
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/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf
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/windows/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom
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/windows/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
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/windows/autocrlf_input,eol_lf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/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
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/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
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/windows/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf
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/windows/autocrlf_input,text,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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,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
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/windows/autocrlf_input,text,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
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,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
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/windows/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf
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/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
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/windows/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf
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/windows/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf
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/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf
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/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf
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/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom
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/windows/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf
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/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf
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/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf
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/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom
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/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom
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/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf
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/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf
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/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf
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/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom
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/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
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/windows/autocrlf_input/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/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
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/windows/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
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/windows/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf
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/windows/autocrlf_true,-crlf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/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
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/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
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/windows/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf
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/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
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/windows/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf
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/windows/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf
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/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf
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/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf
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/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom
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/windows/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf
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/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf
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/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf
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/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom
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/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom
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/windows/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf
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/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf
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/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf
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/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom
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/windows/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
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/windows/autocrlf_true,text_auto,eol_lf/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/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
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/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
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/windows/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
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/windows/autocrlf_true,text_auto/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
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/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
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/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
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/windows/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf
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/windows/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
index aaf083a9c..aaf083a9c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
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/windows/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf
index 417786fc3..417786fc3 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf
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/windows/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf
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/posix/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-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/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,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/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,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/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,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/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-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_workdir/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/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_workdir/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-lf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf
index 85340755c..85340755c 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,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/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,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/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,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/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,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/autocrlf_input/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_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/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/all-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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_workdir/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_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/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/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/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
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/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
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/autocrlf_input/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
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/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
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/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
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/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf-utf8bom
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/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
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/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf-utf8bom
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/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
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/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
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/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
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/autocrlf_true/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
index 0ff5a53f1..0ff5a53f1 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
index ea030d3c6..ea030d3c6 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
index 04de00b35..04de00b35 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/more-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
index dc88e3b91..dc88e3b91 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
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/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
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/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
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/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
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/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
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/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf-utf8bom
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/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-crlf
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/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
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/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
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/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
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/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
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/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
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/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf-utf8bom
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/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
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/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
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/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
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/autocrlf_true/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf
index a9a2e8913..a9a2e8913 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
index 0aa76e474..0aa76e474 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
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/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
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/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
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/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-crlf
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/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-crlf
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/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
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/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
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/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
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/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
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/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
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/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
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/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
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/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
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/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
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/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-crlf
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/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
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/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
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/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
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/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
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/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
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/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
index 0e0528888..0e0528888 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
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/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
index cd574f5a2..cd574f5a2 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
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
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-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_workdir/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,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_workdir/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf
index fd2abfa9d..fd2abfa9d 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf
index df8c0f680..df8c0f680 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf
index e682c3077..e682c3077 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf-utf8bom
index 2e1220cbb..2e1220cbb 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf-utf8bom
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf
index 6da5b0c7e..6da5b0c7e 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf-utf8bom
index 3fa59c809..3fa59c809 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_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_workdir/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,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_workdir/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf
index f557a02d8..f557a02d8 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/all-lf
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom
index 381cfe630..381cfe630 100644
--- a/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_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_workdir/autocrlf_true/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte
diff --git a/tests/resources/generate_crlf.sh b/tests/resources/generate_crlf.sh
index 70534543f..068cad053 100755
--- a/tests/resources/generate_crlf.sh
+++ b/tests/resources/generate_crlf.sh
@@ -8,9 +8,9 @@
# the configuration that git produces.
#
# To update the test resource data, from the test resource directory:
-# git rm -r ./crlf_data
+# git rm -r ./crlf_data/{posix,windows}
# sh ./generate_crlf.sh ./crlf ./crlf_data /tmp/crlf_gitdirs
-# git add ./crlf_data
+# git add ./crlf_data/{posix,windows}
set -e
@@ -25,7 +25,7 @@ tempdir=$3
set -u
-create_repo() {
+create_to_workdir_data() {
local input=$1
local output=$2
local tempdir=$3
@@ -33,7 +33,7 @@ create_repo() {
local autocrlf=$5
local attr=$6
- local worktree="${output}/${systype}/autocrlf_${autocrlf}"
+ local worktree="${output}/${systype}_to_workdir/autocrlf_${autocrlf}"
if [ "$attr" != "" ]; then
local attrdir=`echo $attr | sed -e "s/ /,/g" | sed -e "s/=/_/g"`
@@ -67,6 +67,63 @@ create_repo() {
fi
}
+create_to_odb_data() {
+ local input=$1
+ local output=$2
+ local tempdir=$3
+ local systype=$4
+ local autocrlf=$5
+ local safecrlf=$6
+ local attr=$7
+
+ local destdir="${output}/${systype}_to_odb/autocrlf_${autocrlf},safecrlf_${safecrlf}"
+
+ if [ "$attr" != "" ]; then
+ local attrdir=`echo $attr | sed -e "s/ /,/g" | sed -e "s/=/_/g"`
+ destdir="${destdir},${attrdir}"
+ fi
+
+ if [ "$tempdir" = "" ]; then
+ local workdir="${destdir}/_workdir"
+ else
+ local workdir="${tempdir}/generate_crlf_${RANDOM}"
+ fi
+
+ echo "Creating ${destdir}"
+ mkdir -p "${destdir}"
+
+ git init "${workdir}" >/dev/null
+ git --work-tree="${workdir}" --git-dir="${workdir}/.git" config core.autocrlf "${autocrlf}"
+ git --work-tree="${workdir}" --git-dir="${workdir}/.git" config core.safecrlf "${safecrlf}"
+
+ if [ "$attr" != "" ]; then
+ echo "* ${attr}" > "${workdir}/.gitattributes"
+ fi
+
+ cp ${input}/* ${workdir}
+
+ for path in ${workdir}/*; do
+ filename=$(basename $path)
+ failed=""
+ output=$(git --work-tree="${workdir}" --git-dir="${workdir}/.git" add ${filename} 2>&1) || failed=1
+
+ if [ ! -z "${failed}" -a "${output:0:35}" == "fatal: LF would be replaced by CRLF" ]; then
+ echo "LF would be replaced by CRLF in '${filename}'" > "${destdir}/${filename}.fail"
+ elif [ ! -z "${failed}" -a "${output:0:35}" == "fatal: CRLF would be replaced by LF" ]; then
+ echo "CRLF would be replaced by LF in '${filename}'" > "${destdir}/${filename}.fail"
+ elif [ ! -z "${failed}" ]; then
+ echo "failed to add ${filename}: ${output}" 1>&2
+ exit 1
+ else
+ git --work-tree="${workdir}" --git-dir="${workdir}/.git" cat-file blob ":${filename}" > "${destdir}/${filename}"
+ fi
+ done
+
+ if [ "$tempdir" != "" ]; then
+ rm -rf "${workdir}"
+ fi
+}
+
if [[ `uname -s` == MINGW* ]]; then
systype="windows"
else
@@ -78,8 +135,13 @@ for autocrlf in true false input; do
"text eol=lf" "text eol=crlf" \
"text=auto eol=lf" "text=auto eol=crlf"; do
- create_repo "${input}" "${output}" "${tempdir}" \
+ create_to_workdir_data "${input}" "${output}" "${tempdir}" \
"${systype}" "${autocrlf}" "${attr}"
+
+ for safecrlf in true false warn; do
+ create_to_odb_data "${input}" "${output}" "${tempdir}" \
+ "${systype}" "${autocrlf}" "${safecrlf}" "${attr}"
+ done
done
done